var facturaspagos = {
	init:function(){
		$('#facturaspagos').jqGrid({
           url:'facturas/pagos',
           datatype:'json',
           mtype:'POST',
           colNames:['id','Numero','Cliente','Usuario','Moneda','Total s/IGV','Total c/IGV','Monto Pagado','Creado','Estado FAC','Estado PAGO'],
           colModel:[
               {name:"id",hidden:true},
               {name:"numero",index:'Factura.numero',align:"right",width:50,align:'center',sortable:true,editable:false,searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
               {name:"cliente",index:'Cliente.razonsocial',width:150,align:'left',sortable:true,editable:false,searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
               {name:"usuario",index:'Usuario.nombres',width:150,align:'left',sortable:true,editable:false,searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
               {name:"moneda",index:'Moneda.descripcion',width:50,sortable:true,editable:false,searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
			   {name:"monto_sin_igv",index:'Factura.monto_sin_igv',width:50,align:'right',sortable:true,editable:false,searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
			   {name:"monto_con_igv",index:'Factura.monto_con_igv',width:50,align:'right',sortable:true,editable:false,searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
			   {name:"montopagado",index:'Factura.montopagado',width:50,align:'center',sortable:true,editable:false,searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
			   {name:"created",index:'Factura.created',width:50,align:'center',sortable:true,editable:false,searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
			   {name:"estadofactura",index:'Estadofactura.descripcion',width:60,align:'left',sortable:true,editable:false,searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
			   {name:"estadopago",index:'Estadopago.descripcion',width:60,align:'left',sortable:true,editable:false,searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}}               
           ],
		   pager:$('#facturaspagos-pager'),
           rowNum:10,
           rowList:[10,20,30],
           viewrecords:true,
           caption:'facturas',
           height:'130',
           sortname: "Cliente.razonsocial",
           editurl: 'facturas/index',
		   onSelectRow: function(id){
		   		if(!id){
					id=0; var nro_nt = 'Seleccione una Factura/Boleta';
				}else{
					var ret = jQuery("#facturaspagos").jqGrid('getRowData',id); 
					var numero = ret.numero;	
				}
				
				jQuery("#facturaspagodetalles")
					.jqGrid('setGridParam',{url:"pagosfacturas/index?q=Factura&modelopadre_id="+id,page:1}); 
				jQuery("#facturaspagodetalles")
					.jqGrid('setCaption',"Pagos de la factura Nro: "+numero)
					.trigger('reloadGrid');
			},
			toolbar: [true,"top"]             
       });
	   
		$("#t_facturaspagos").append("<input type='button' id='pagarfactura' value='Pagar Factura' style='height:20px;font-size:-3'/>"); 
								
		$("#t_facturaspagos input").click(function(){ 
			if($(this).attr('id') == 'pagarfactura'){
				var factura_id = jQuery("#facturaspagos").jqGrid('getGridParam','selrow');
				if (factura_id) {
					var ret = jQuery("#facturaspagos").jqGrid('getRowData',factura_id); 
					if(ret.estadopago == "Totalmente pagado")  alert("LA FACTURA YA FUE PAGADA");
					else  incializarDialogoPagofactura(factura_id);
				}else{ 
					alert("POR FAVOR SELECCIONE UNA FACTURA");
				} 
			} 
			return false;
		});
	   
	   $('#facturaspagos').navGrid("#facturaspagos-pager",{edit:false,add:false,del:false});
	   $("#facturaspagos").jqGrid('filterToolbar',{stringResult: true,searchOnEnter : false});
       jQuery("#facturaspagos").jqGrid('setGridWidth',$('#RightPane').width()-50);
	   
	   $("#facturaspagodetalles").jqGrid({
	   		height: 150, 
			url:'pagosfacturas/index?q=Factura&modelopadre_id=0',
			datatype: "json", 
			colNames:['id','Factura', 'Usuario que pago', 'Cantidad','Comentario','Usuario que anula','Comentario Anular'],
			colModel:[ 
				{name:'data[Pagosfactura][id]',index:'Pagosfactura.id', hidden:true}, 
				{name:'data[Pagosfactura][fac_numero]',index:'Factura.numero', width:35, align:"right",editable:true,editrules:{required:true},searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
				{name:'data[Pagosfactura][user_paga]',index:'Usuariopaga.nombres', width:50,editable:true,editrules:{required:true},searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
				{name:'data[Pagosfactura][cantidad]',index:'Pagosfactura.cantidad', align:"right", width:30,editable:true,editrules:{required:true},searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
				{name:'data[Pagosfactura][comentarios]',index:'Pagosfactura.comentarios', width:120, editoptions:{maxlength:250},editable:true,searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
				{name:'data[Pagosfactura][user_anula]',index:'Usuarioanula.nombres', width:50,editable:true,editrules:{required:true},searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}},
				{name:'data[Pagosfactura][comentarios]',index:'Pagosfactura.comentario_anular', width:120, editoptions:{maxlength:250},editable:true,searchoptions:{sopt:['cn','eq','ne','lt','le','gt','ge','bw','ew']}}
			], 
			rowNum:5, 
			rowList:[5,10,20], 
			pager: '#facturaspagodetalles-paper', 
			sortname: 'Factura.numero', 
			viewrecords: true, 
			sortorder: "asc", 
			multiselect: false, 
			caption:"Pagos realizados" 
		}).navGrid('#facturaspagodetalles-paper',{add:false,edit:false,del:true});
		
		// Visualizacion de los vale salidas generados por la factura
		jQuery("#facturaspagodetalles").jqGrid('setGridWidth',$('#RightPane').width()-50);
		
		/** INICIALIZA EL PAGO DE UNA FACTURA */
		function incializarDialogoPagofactura(factura_id){
			$.post("pagosfacturas/setPagosfacturas/"+factura_id, {},
				function(data){
					$("#containerfacturaspagos").append(data);
					mostrarDialogPagosfactura();
				}
			);
		}
		
		function mostrarDialogPagosfactura(){
			$("#pagosfactura_dialog").dialog({
				bgiframe: true,
				autoOpen: true,
				height: 200,
				width: 300,
				modal: true,
				buttons: {
					Guardar: function(){
						if($("#PagosfacturaActualizarForm").valid()){
							actualizarPagosfactura("update");
						}	
					},
					Volver: function() { 
						$(this).remove();
					}
				},
				close: function(){
					$(this).remove();
				}
			});
			
			//valido el formulario orden compra
			var validator = $("#PagosfacturaActualizarForm").validate();
			//visualizarBotones();
			
			$("#pagosfactura_dialog").removeClass('hide');
		}
		
		/** GUARDAMOS EL PAGO DE LA FACTURA **/
		function actualizarPagosfactura(oper){
			$.ajax({
				type:'POST',
				url: "pagosfacturas/actualizar/oper:"+oper,
				data: $('#PagosfacturaActualizarForm').serialize(),
				success: function(response){
					if(!response.respuesta){
						$.post("menus/mensaje",{
							mensaje:"Ha ocurrido un error y no se ha podido actualizar el registro. Intente Nuevamente!", //+response.mensaje,
							titulo:"Fallo al Actualizar"},function(data){
								$("body").append(data);
								$('#mensajeDialogo').dialog({
									autoOpen:true,
									width:200,
									resizable: false,
									modal:true,
									height:170,
									overlay:{
										backgroundColor:'#000',
										opacity:0.5
									},
									buttons:{
										Ok: function(){
											$(this).remove();
										}
									},
									close: function(){
										$(this).remove();
									}
								});
							}
						);
					}else{
						$.post("menus/mensaje",{
							mensaje:response.mensaje,
							titulo:"Documento Actualizado"},function(data){
								$("body").append(data);
								$('#mensajeDialogo').dialog({
									autoOpen:true,
									width:200,
									resizable: false,
									modal:true,
									height:170,
									overlay:{
										backgroundColor:'#000',
										opacity:0.5
									},
									buttons:{
										Ok: function(){
											jQuery("#facturaspagodetalles").trigger('reloadGrid');
											jQuery("#facturaspagos").trigger('reloadGrid');
											$(this).remove();
										}
									}
								});
							}
						);
					}
				},
				dataType: 'json'
			});
			return false;
		}
	}
};